import 'dart:io';

import 'package:test/test.dart';
import 'package:flutter_driver/flutter_driver.dart';

import 'tools/test_utils.dart';

/// 各模块统一运行，也可单独执行子模块测试
void main() {
  group('主界面：', () {
    late FlutterDriver driver;

    // 测试之前连接程序
    setUpAll(() async {
      driver = await FlutterDriver.connect();
      await driver.waitUntilFirstFrameRasterized();
    });

    tearDown(() {
      // print('< Success');
    });

    // 在测试完成后，关闭程序的连接。
    tearDownAll(() async {
      await driver.close();
      exit(0);
    });

    test('首页滑动', () async {
      // 滚动列表
      final SerializableFinder scroller = find.byValueKey('scroller');
      await driver.waitFor(scroller);

      for (var i = 0; i < 5; i++) {
        // 垂直滑动
        await driver.scroll(scroller, 0, -500, scrollDuration);
        await delayed();
      }

      var textField = find.byValueKey('home_field_search');
      // 点击输入框，给予焦点
      await driver.tap(textField);

      // 输入内容
      await driver.enterText('we');
      await delayed();

      await driver.enterText('wechat');
      await delayed();

      await driver.tap(find.byValueKey('home_field_clear'));
      await delayed();
    });
  });
}
